package main_package;

import interfaz.CritFrame;
import interfaz.CriteriosFrame;
import interfaz.VentanaSecretario;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;
import utilidades.leer;

public class Plantilla {
    
    private int idPlantilla;
    private int convocatoria;
    private Vector<Criterio> criterios;
    private Consultas consultas;
        
    public Plantilla(int convo, int crit, Consultas cons){
        consultas=cons;
        idPlantilla = -1;
        convocatoria = convo;
        criterios = new Vector<Criterio>();
        for(int i=0; i<crit; i++)
            criterios.add(new Criterio(consultas));
    }
    
    public Plantilla(int crit, Consultas cons){
        consultas=cons;
        idPlantilla = -1;
        criterios = new Vector<Criterio>();
        for(int i=0; i<crit; i++)
            criterios.add(new Criterio(consultas));
    }
    
    public Plantilla(Consultas cons){
        consultas=cons;
    }
    
    //###################################################
    
    //GETTERS
    public int getIdPlantilla(){
        return idPlantilla;
    }
    public int getConvocatoria(){
        return convocatoria;
    }
    
    //SETTERS
    public void setIdPlantilla(int id){
        idPlantilla = id;
    }
    public void setConvocatoria(int conv){
        convocatoria = conv;
    }

    public void establecerCriterios(Vector<Criterio> crit) throws Exception {
        criterios=crit;
        for(int i=0; i<criterios.size(); i++){
            ((Criterio)criterios.get(i)).setPlantilla(idPlantilla);
            ((Criterio)criterios.get(i)).guardar();
        }
    }

    public void guardar() throws SQLException {
        consultas.añadirPlantilla(convocatoria, criterios.size());
        idPlantilla=consultas.getIdPlantilla(convocatoria);
    }
    
    public String toString(){
        return "["+idPlantilla+" - "+criterios+"]";
    }

    public int getNCrit() {
        return criterios.size();
    }

    public Consultas getCosultas() {
        return consultas;
    }
    
}
